package cn.edu.lsu.integratedsurvey.bean.dto;

import cn.edu.lsu.integratedsurvey.bean.History;
import cn.edu.lsu.integratedsurvey.bean.User;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 学生数据录入DTO对象
 *
 * @author Jasmine-drs
 * @date 2024/5/1 16:30
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataEntryDto {
	@NotBlank(message="[姓名]不能为空")
	@Size(max= 20,message="编码长度不能超过20")
	@ApiModelProperty("姓名")
	private String name;

	@NotBlank(message="[学号]不能为空")
	@Size(max= 11,message="编码长度不能超过11")
	@ApiModelProperty("学号")
	private String studentNumber;

	@NotBlank(message="[活动名称]不能为空")
	@Size(max= 255,message="编码长度不能超过255")
	@ApiModelProperty("活动名称")
	private String subtype;

	@NotNull(message="[加减分]不能为空")
	@ApiModelProperty("加减分")
	private Double value;

	@NotNull(message="[七大类的类型]不能为空")
	@ApiModelProperty("七大类的类型：0德育，1智育，2体育，3美育，4劳动教育，5创新创业能力，6突出贡献")
	private Integer type;

	@ApiModelProperty("操作员id")
	private String operatorId;

//	得到录入对象history
	public History convertToHistory(User user) {
		History history = new History();
		history.setName(this.name);
		history.setStudentNumber(this.studentNumber);
		history.setSubtype(this.subtype);
		history.setValue(this.value);
		history.setType(this.type);
		history.setOperatorName(user.getName());
		history.setOperatorDepartment(user.getDepartment());
		return history;
	}
}
